import {
	arrayToObject
} from '../../../../assets/js/util.js'
export default {
	data() {
			return {
				/*当前页显示数量*/
				pageSize:10,
				/*每页显示的数量*/
				pageSizes:[10, 20, 50, 100],
				/*dataTotal表数量*/
				dataTotal:0,
				/*分页器*/
				currentPage: 1,
				loading: false,
				// 通用的请求地址
				SRC: '',
				DP: {
					p: '',
					f: ''
				},
				title: 'VIP经验流水',
				xlsxTitle:'',
				// 设置时间 一周， 一月，  昨天
				pickerOptions: {
					shortcuts: [{
						text: '最近一周',
						onClick(picker) {
							const end = new Date();
							const start = new Date();
							start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
							picker.$emit('pick', [start, end]);
						}
					}, {
						text: '最近一个月',
						onClick(picker) {
							const end = new Date();
							const start = new Date();
							start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
							picker.$emit('pick', [start, end]);
						}
					}, {
						text: '最近三个月',
						onClick(picker) {
							const end = new Date();
							const start = new Date();
							start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
							picker.$emit('pick', [start, end]);
						}
					}]
				},
				// 存放获取到的平台数
				plats: [],
				// 存放获取到的渠道数
				channels: [],
				// 存放获取到的区服数
				serviceAreas: [],
				// 提交的表单
				form: {
					dateOne: '',
					dateStart: '',
					dateEnd: '',
					plat: '0',
					channel: '0',
					serviceArea: '0',
					auID: '',
					roleId: ''
				},
				// 表单验证
				rules: {
					plat: [{
						required: true,
						message: '请选择平台',
						trigger: 'change'
					}],
					channel: [{
						required: true,
						message: '请选择渠道',
						trigger: 'change'
					}],
					serviceArea: [{
						required: true,
						message: '请选择区服',
						trigger: 'change'
					}],
					auID: [{
						min: 3,
						max: 50,
						message: '长度在 3 到 50 个字符',
						trigger: 'blur'
					}],
					roleId: [{
						min: 3,
						max: 50,
						message: '长度在 3 到 50 个字符',
						trigger: 'blur'
					}]
				},
				// 工会ID输入框的宽
				inputWidth: '220px',
				// 所有el-form-item label的宽度
				formLabelWidth: '120px',
				/*表格数据*/
				tableData: [],
				/*realTimeServiceContent 的宽*/
				realTimeServiceContent: '100%',
				/*表的宽度*/
				realTimeServiceTableWidth: "100%",
				/*数据表头*/
				tableDataAll:[],
				tableHeader: [{
					prop: 'logtime',
					label: '时间',
					width: '130px'
				}, {
					prop: 'platform',
					label: '平台ID',
					width: '130px'
				}, {
					prop: 'channel',
					label: '渠道',
					width: '130px'
				}, {
					prop: 'serverid',
					label: '区服',
					width: '130px'
				}, {
					prop: 'userid',
					label: '账号ID',
					width: '130px'
				}, {
					prop: 'roleid',
					label: '角色ID',
					width: '130px'
				}, {
					prop: 'rolelevel',
					label: '角色等级',
					width: '130px'
				}, {
					prop: 'viplevel',
					label: 'VIP等级',
					width: '130px'
				}, {
					prop: 'reason',
					label: '获取经验方式',
					width: '150px'
				},{
					prop: 'vipexoget',
					label: '经验获得',
					width: '130px'
				},{
					prop: 'vipexptotal',
					label: '总经验',
					width: '130px'
				},{
					prop: 'fromrecharge',
					label: '充值获得总经验',
					width: '170px'
				},{
					prop: 'fromitem',
					label: '物品获得总经验',
					width: '170px'
				},]
			}
		},
		computed: {
			// xlsx() {
			// 	return this.title + '.xlsx'
			// }
		},
		methods: {
			// 通用 成功 与 失败
			successFun(data) {
				this.$message({
					message: data,
					type: 'success'
				});
			},
			errorFun(data) {
				this.$message.error(data);
			},
			// 分页器
		    // 控制每页的数量
		    handleSizeChange(val) {
		      this.pageSize = val;
		      this.tableControl();
		    },
		    // 页数
		    handleCurrentChange(val) {
		      this.currentPage = val;
		      this.tableControl();
		    },
		    tableControl() {
		        this.tableData = this.tableDataAll.slice((this.currentPage-1)*this.pageSize,this.currentPage*this.pageSize)
		    },
			// 时间改变 得到起始时间和结束时间
			dateChange(val) {
				var t = val.split(' - ')
				this.form.dateStart = t[0];
				this.form.dateEnd = t[1];
			},
			// 平台切换 渠道切换 区服切换
			selectPlats(val) {
				this.getData(`updatePlatform.do?platformid=${val}`)
			},
			selectChannels(val) {
				this.getData(`updateChannel.do?channelid=${val}`)
			},
			selectServers(val) {
				this.getData(`updateServer.do?serverid=${val}`)
			},
			// 提交数据
			commitData() {
				var that = this;
				var p = new Promise(function(resolve, reject) {
					var obj = {
						"dateStart": that.form.dateStart,
						"dateEnd": that.form.dateEnd,
						"userid": that.form.auID,
						"roleid": that.form.roleId,
						"platform": that.form.plat,
						"channel": that.form.channel,
						"serverid": that.form.serviceArea
					}
					that.dataTotal = 0;
					that.loading = true;
					that.tableData = [];
					that.tableDataAll = [];
					obj = encodeURI(JSON.stringify(obj));
					that.$http.jsonp(`${that.SRC}data/get.do?p=${that.DP.p}&f=${that.DP.f}&a=search`,{
						params:{'ps':'params='+obj},
					}).then(function(res) {
						resolve(res.body)
					})
				})
				p.then(function(value) {
					that.loading = false;
					var data = JSON.parse(JSON.parse(value));
					if (parseInt(data["res"]) === 0) {
						that.dataTotal = data.data.length;
						if (data.data.length === 0) {
							that.errorFun("该角色暂无数据！")
						} else {
							that.tableDataAll = arrayToObject(that.tableHeader, data.data);
							for(var ii in that.tableDataAll){
								if(that.tableDataAll[ii]['reason'] === '0'){
									that.tableDataAll[ii]['reason'] = '充值获得';
								}else if(that.tableDataAll[ii]['reason'] === '1'){
									that.tableDataAll[ii]['reason'] = '物品获得';
 								}
							}
							that.tableControl();
						}
					} else {
						that.errorFun(data["msg"])
					}
				})
			},
			// 搜索
			search(form) {
				this.$refs[form].validate((valid) => {
					if (valid) {
						this.commitData()
					} else {
						this.errorFun('请完善输入的值！');
						return false;
					}
				});
			},
			//重置
			reset(form) {
				this.$refs[form].resetFields();
				this.getData("initParam.do");
			},
			
			/*获取区服列表数据*/
			getData: function(url) {
				var that = this;
				// 将数据push到选择框中
				var pushData = function(pushArr, attr, data) {
					that[pushArr] = [];
					for (var i in data[attr]) {
						that[pushArr].push({
							label: i,
							value: data[attr][i]
						})
					}
				};
				var p = new Promise(function(resolve, reject) {
					that.$http.jsonp(`${that.SRC}data/get.do?p=${that.DP.p}&f=${that.DP.f}&a=initParam`,{
						params:{'ps': '' }
					}).then(function(res) {
						resolve(res.body)
					})
				});
				p.then(function(value) {
					var data = JSON.parse(JSON.parse(value));
					if (parseInt(data["res"]) === 0) {
						// 后台select的数据
						var lists = ["platformItmes","channelItmes","serverItmes"];
						// 页面select名字
						var nameLists = ["plats","channels","serviceAreas"];
						for(var i =0; i<lists.length; i++){
							if(data[lists[i]] !== undefined){
								pushData(nameLists[i],lists[i],data);
							}
						}
					} else {
						// that.getErrorMsg(Number(data.res))
					}
				})
			},
			/*设置初始值*/
			_init() {
				window.addEventListener('resize', function() {
					/*修改表格的宽度*/
					this.realTimeServiceTableWidth = document.body.clientWidth - 240 + "px";
					this.realTimeServiceContent = document.body.clientWidth - 220 + "px";
				}.bind(this))
			},
			// 表格下载
			excel(val) {
				this.xlsxTitle = val+"-"+this.form.dateStart+"到"+this.form.dateEnd;
				this.downloadExl(this.tableHeader, this.tableDataAll,this.xlsxTitle,this.title);
				
			}
		},
		mounted() {
			this._init()
			// 初始化URL
			this.SRC = this.$store.getters.src;
			this.DP.p = localStorage.getItem('ZULONGBIPROJECTID');
			this.DP.f = localStorage.getItem('ZULONGBIPAGEID');
			this.form.dateOne = [new Date(),new Date()];
			this.getData("initParam.do")
				// this.getData(this.pageSize,this.currentPage)
		}
}